package 动态规划.斐波那契数模型;

/**
 * 最小花费爬楼梯
 */
public class likou746 {

    // 练习.
    // dp[i]: 表示爬到 i 位置时, 所需要的最小花费
    public int minCostClimbingStairs(int[] cost) {
        int n = cost.length;
        int[] dp = new int[n + 1]; // 因为要下标到n
        dp[0] = dp[1] = 0;
        for (int i = 2; i <= n; i++) {
            dp[i] = Math.min(cost[i - 1] + dp[i - 1], cost[i - 2] + dp[i - 2]);
        }
        return dp[n];
    }

}
